% Reference to glossary: e.g. \gls{I/O}
% Reference to index: e.g. \index{system!transforming}

%The following command sorts the entries in each list:
%makeindex -s datei.ist -t datei.alg -o datei.acr datei.acn
%makeindex -s datei.ist -t datei.glg -o datei.gls datei.glo
%makeindex -s datei.ist -t datei.slg -o datei.syi datei.syg

%Glossary list entries
% use with \gls{glos:INTRO}
\newglossaryentry{glos:API}{
  name=API,
  description={Eine \gls{API} ist ein Programmteil, der von einem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfügung gestellt wird (aus Wikipedia \cite{wikiped:API2012}).}
}

\newglossaryentry{glos:OpenGL}{
  name=OpenGL,
  description={\gls{OpenGL} ist eine Spezifikation für eine plattform- und programmiersprachenunabhängige Programmierschnittstelle zur Entwicklung von 2D- und 3D-Computergrafik (aus opengl.org \cite{Segal2012}).}
}

\newglossaryentry{glos:EGL}{
  name=EGL,
  description={\gls{EGL} ist ein Interface für eine \gls{API} wie \gls{OpenGL ES} oder \gls{OpenVG} und dem dazugehörigen nativen Ausgabefenstersystem (aus Khronos \cite{KHRONOS2012:egl}).}
}

\newglossaryentry{glos:OpenCL}{
  name=OpenCL,
  description={\gls{OpenCL} ist eine Schnittstelle um Programmteile auf verschiedene Prozessoren auszulagern.}
}

\newglossaryentry{glos:OpenCV}{
  name=OpenCV,
  description={\gls{OpenCV} ist eine Programmbibliothek für die Bildverarbeitung.}
}

\newglossaryentry{glos:Cuda}{
  name=Cuda,
  description={Mit \gls{Cuda} ist es möglich, Prozesse von der GPU abarbeiten zu lassen (aus NVidia Website \cite{NVidia2012:Cuda})}
}

\newglossaryentry{glos:JNI}{
  name=JNI,
  description={\gls{JNI} ist eine standardisierte Anwendungsprogrammierschnittstelle zum Aufruf von plattformspezifischen Funktionen bzw. Methoden aus der Programmiersprache Java heraus. Ein Java-Programm, das JNI-Aufrufe verwendet, ist nicht mehr plattformunabhängig, falls die native Programmbibliothek nicht auf allen Plattformen verfügbar ist (aus Wikipedia \cite{wikipedia:JNI}).}
}

\newglossaryentry{glos:SoC}{
  name=SoC,
  description={\gls{SoC} ist ein Chip welcher ein gesamtes System auf einem integrierten Chip beinhaltet.}
}

\newglossaryentry{glos:OpenVG}{
  name=OpenVG,
  description={\gls{OpenVG} \gls{API} für Hardware beschleunigte 2D Vektor Grafiken.}
}

%Acronym list entries
% use it like here: \gls{I/O}
\newacronym{ANSI}{ANSI}{American National Standards Institute}
\newacronym{API}{API}{Application Programming Interface\protect\glsadd{glos:API}}
\newacronym{CPU}{CPU}{Central Processing Unit}
\newacronym{GPU}{GPU}{Graphics Processing Unit}
\newacronym{HMI}{HMI}{Human Machine Interface}
\newacronym{ES}{ES}{Embedded Systems}
\newacronym{EGL}{EGL}{Embedded System Graphics Library\protect\glsadd{glos:EGL}}
\newacronym{I/O}{I/O}{Input and Output}
\newacronym{IDE}{IDE}{Integrated Development Environment}
\newacronym{ISR}{ISR}{Interrupt Service Routine}
\newacronym{Khronis}{Khronis}{Non-Profit technology consortium Group}
\newacronym{OpenGL}{OpenGL}{Open Graphics Library\protect\glsadd{glos:OpenGL}}
\newacronym{OpenGL ES}{OpenGL ES}{\protect\gls{OpenGL} for \protect\gls{ES}}
\newacronym{OpenVL}{OpenVL}{Open Volumetric Library for handling and processing volumetric datasets}
\newacronym{OpenVG}{OpenVG}{Open Vector Graphics}
\newacronym{GPGPU}{GPGPU}{General-purpose computing on \protect\gls{GPU}}
\newacronym{OpenCL}{OpenCL}{Open Computing Language}
\newacronym{OpenCV}{OpenCV}{Open Source Computer Vision}
\newacronym{Cuda}{Cuda}{Compute Unified Device Architecture}
\newacronym{JNI}{JNI}{Java Native Interface}
\newacronym{NDK}{NDK}{Native Developer Kit}
\newacronym{SoC}{SoC}{System on a Chip}
\newacronym{FPU}{FPU}{Floating Point Unit}
\newacronym{GLSL}{GLSL}{OpenGL Shading Language}
\newacronym{GUI}{GUI}{Graphical User Interface}


%Symbols list entries
\newglossaryentry{symb:ElementOf}{
	name=$\in$,
	description={Symbol for 'element of'.},
	sort=symbolElementOf, type=symbolslist
}
\newglossaryentry{symb:NaturalNumber}{
  name=$\mathbb{N}$,
	symbol=$\mathbb{N}$,
	description={Set of positive non-zero natural numbers (1, 2, 3, 4, ...).},
	sort=symbolNaturalNumber, type=symbolslist
}
\newglossaryentry{symb:RealNumber} {
  name={real number},
  description={include both rational numbers, such as $42$ and
               $\frac{-23}{129}$, and irrational numbers,
               such as $\pi$ and the square root of two; or,
               a real number can be given by an infinite decimal
               representation, such as $2.4871773339\ldots$ where
               the digits continue in some way; or, the real
               numbers may be thought of as points on an infinitely
               long number line},
  symbol={\ensuremath{\mathbb{R}}}
}
